
declare module Microsoft.Office.WebExtension {

    /** Represents a binding in two dimensions of rows and columns, optionally with headers. */
    export class TableBinding extends Binding {

        /** Gets the number of columns in the table, as an integer value. */
        columnCount: number;

        /** Gets whether the table has headers. */
        hasHeaders: boolean;

        /** Gets the number of rows in the table, as an integer value. */
        rowCount: number;

        /** Adds rows and values to a table. */
        addRowsAsync(rows: any, options?: { asyncContext?: any; }, callback?: (result: AsyncResult) => void);

        /** Deletes all non-header rows and their values in the table, shifting appropriately for the host application. */
        deleteAllDataValuesAsync(options?: { asyncContext?: any; }, callback?: (result: AsyncResult) => void);
    }
}